/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "movimientoinventario")
@NamedQueries({
    @NamedQuery(name = "Movimientoinventario.findAll", query = "SELECT m FROM Movimientoinventario m"),
    @NamedQuery(name = "Movimientoinventario.findByCodmovimientoinventario", query = "SELECT m FROM Movimientoinventario m WHERE m.codmovimientoinventario = :codmovimientoinventario"),
    @NamedQuery(name = "Movimientoinventario.findByTipomovimiento", query = "SELECT m FROM Movimientoinventario m WHERE m.tipomovimiento = :tipomovimiento"),
    @NamedQuery(name = "Movimientoinventario.findByFechamovimiento", query = "SELECT m FROM Movimientoinventario m WHERE m.fechamovimiento = :fechamovimiento"),
    @NamedQuery(name = "Movimientoinventario.findByFactura", query = "SELECT m FROM Movimientoinventario m WHERE m.factura = :factura"),
    @NamedQuery(name = "Movimientoinventario.findByPreciounitario", query = "SELECT m FROM Movimientoinventario m WHERE m.preciounitario = :preciounitario"),
    @NamedQuery(name = "Movimientoinventario.findByCantidad", query = "SELECT m FROM Movimientoinventario m WHERE m.cantidad = :cantidad"),
    @NamedQuery(name = "Movimientoinventario.findByObservacion", query = "SELECT m FROM Movimientoinventario m WHERE m.observacion = :observacion"),
    @NamedQuery(name = "Movimientoinventario.findByDigitador", query = "SELECT m FROM Movimientoinventario m WHERE m.digitador = :digitador"),
    @NamedQuery(name = "Movimientoinventario.findByFechadigitador", query = "SELECT m FROM Movimientoinventario m WHERE m.fechadigitador = :fechadigitador")})
public class Movimientoinventario implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "codmovimientoinventario")
    private String codmovimientoinventario;
    @Basic(optional = false)
    @NotNull
    @Column(name = "tipomovimiento")
    private char tipomovimiento;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechamovimiento")
    @Temporal(TemporalType.DATE)
    private Date fechamovimiento;
    @Size(max = 2147483647)
    @Column(name = "factura")
    private String factura;
    @Basic(optional = false)
    @NotNull
    @Column(name = "preciounitario")
    private double preciounitario;
    @Basic(optional = false)
    @NotNull
    @Column(name = "cantidad")
    private double cantidad;
    @Size(max = 2147483647)
    @Column(name = "observacion")
    private String observacion;
    @Basic(optional = false)
    @NotNull
    @Column(name = "digitador")
    private int digitador;
    @Basic(optional = false)
    @NotNull
    @Column(name = "fechadigitador")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechadigitador;
    @JoinColumn(name = "proveedor_fk", referencedColumnName = "numeroproveedor")
    @ManyToOne(optional = false)
    private Proveedor proveedorFk;
    @JoinColumn(name = "inventario_fk", referencedColumnName = "codinventario")
    @ManyToOne(optional = false)
    private Inventario inventarioFk;

    public Movimientoinventario() {
    }

    public Movimientoinventario(String codmovimientoinventario) {
        this.codmovimientoinventario = codmovimientoinventario;
    }

    public Movimientoinventario(String codmovimientoinventario, char tipomovimiento, Date fechamovimiento, double preciounitario, double cantidad, int digitador, Date fechadigitador) {
        this.codmovimientoinventario = codmovimientoinventario;
        this.tipomovimiento = tipomovimiento;
        this.fechamovimiento = fechamovimiento;
        this.preciounitario = preciounitario;
        this.cantidad = cantidad;
        this.digitador = digitador;
        this.fechadigitador = fechadigitador;
    }

    public String getCodmovimientoinventario() {
        return codmovimientoinventario;
    }

    public void setCodmovimientoinventario(String codmovimientoinventario) {
        this.codmovimientoinventario = codmovimientoinventario;
    }

    public char getTipomovimiento() {
        return tipomovimiento;
    }

    public void setTipomovimiento(char tipomovimiento) {
        this.tipomovimiento = tipomovimiento;
    }

    public Date getFechamovimiento() {
        return fechamovimiento;
    }

    public void setFechamovimiento(Date fechamovimiento) {
        this.fechamovimiento = fechamovimiento;
    }

    public String getFactura() {
        return factura;
    }

    public void setFactura(String factura) {
        this.factura = factura;
    }

    public double getPreciounitario() {
        return preciounitario;
    }

    public void setPreciounitario(double preciounitario) {
        this.preciounitario = preciounitario;
    }

    public double getCantidad() {
        return cantidad;
    }

    public void setCantidad(double cantidad) {
        this.cantidad = cantidad;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public int getDigitador() {
        return digitador;
    }

    public void setDigitador(int digitador) {
        this.digitador = digitador;
    }

    public Date getFechadigitador() {
        return fechadigitador;
    }

    public void setFechadigitador(Date fechadigitador) {
        this.fechadigitador = fechadigitador;
    }

    public Proveedor getProveedorFk() {
        return proveedorFk;
    }

    public void setProveedorFk(Proveedor proveedorFk) {
        this.proveedorFk = proveedorFk;
    }

    public Inventario getInventarioFk() {
        return inventarioFk;
    }

    public void setInventarioFk(Inventario inventarioFk) {
        this.inventarioFk = inventarioFk;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codmovimientoinventario != null ? codmovimientoinventario.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Movimientoinventario)) {
            return false;
        }
        Movimientoinventario other = (Movimientoinventario) object;
        if ((this.codmovimientoinventario == null && other.codmovimientoinventario != null) || (this.codmovimientoinventario != null && !this.codmovimientoinventario.equals(other.codmovimientoinventario))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Movimientoinventario[ codmovimientoinventario=" + codmovimientoinventario + " ]";
    }
    
}
